rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ Non-Overlap Check
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev1(nil)
rev1(cons2(x0, x1))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
REV1(cons2(x, l)) -> REV12(x, l)
REV12(x, cons2(y, l)) -> REV12(y, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev1(nil)
rev1(cons2(x0, x1))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
REV1(cons2(x, l)) -> REV12(x, l)
REV12(x, cons2(y, l)) -> REV12(y, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev1(nil)
rev1(cons2(x0, x1))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
REV12(x, cons2(y, l)) -> REV12(y, l)
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev1(nil)
rev1(cons2(x0, x1))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
REV12(x, cons2(y, l)) -> REV12(y, l)
[REV12, cons2]
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ PisEmptyProof
↳ QDP
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev1(nil)
rev1(cons2(x0, x1))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev1(nil)
rev1(cons2(x0, x1))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))
The following pairs can be strictly oriented and are deleted.
The remaining pairs can at least by weakly be oriented.
REV22(x, cons2(y, l)) -> REV22(y, l)
REV1(cons2(x, l)) -> REV22(x, l)
Used ordering: Combined order from the following AFS and order.
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
[REV21, REV1] > cons1
nil > [rev1, s] > 0 > cons1
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
↳ QTRS
↳ Non-Overlap Check
↳ QTRS
↳ DependencyPairsProof
↳ QDP
↳ DependencyGraphProof
↳ AND
↳ QDP
↳ QDP
↳ QDPOrderProof
↳ QDP
↳ DependencyGraphProof
REV22(x, cons2(y, l)) -> REV1(cons2(x, rev22(y, l)))
rev1(nil) -> nil
rev1(cons2(x, l)) -> cons2(rev12(x, l), rev22(x, l))
rev12(0, nil) -> 0
rev12(s1(x), nil) -> s1(x)
rev12(x, cons2(y, l)) -> rev12(y, l)
rev22(x, nil) -> nil
rev22(x, cons2(y, l)) -> rev1(cons2(x, rev22(y, l)))
rev1(nil)
rev1(cons2(x0, x1))
rev12(0, nil)
rev12(s1(x0), nil)
rev12(x0, cons2(x1, x2))
rev22(x0, nil)
rev22(x0, cons2(x1, x2))